package com.negocio.beans;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.negocio.dao.MatriculaDAO;
import com.negocio.entidades.CompCurr;
import com.negocio.entidades.Matricula;
import com.negocio.entidades.Usuario;
import com.negocio.facade.MatriculaRemote;

/**
 * Session Bean implementation class MatriculaBean
 */
@Stateless
@LocalBean
public class MatriculaBean implements MatriculaRemote {

	@PersistenceContext(unitName = "SystemgedBD")
	private EntityManager em;
	
    /**
     * Default constructor. 
     */
    public MatriculaBean() {
        // TODO Auto-generated constructor stub
    }
    
	@Override
	public Matricula salvar(Matricula m) throws Exception {
		MatriculaDAO dao = new MatriculaDAO(em);
		return dao.salvar(m);
	}

	@Override
	public void excluir(long id) {
		MatriculaDAO dao = new MatriculaDAO(em);
		dao.excluir(id);
	}

	@Override
	public List<Matricula> listar() {
		MatriculaDAO dao = new MatriculaDAO(em);
		List<Matricula> matriculas = new ArrayList<Matricula>();
		matriculas = dao.listar();
		return matriculas;
	}

	@Override
	public Matricula consultarPorAlunoComp(int id) {
		MatriculaDAO dao = new MatriculaDAO(em);
		return dao.consultarPorAlunoComp(id);
	}
	
	@Override
	public List<Usuario> listarAlunos() {
		MatriculaDAO dao = new MatriculaDAO(em);
		List<Usuario> usuarios = new ArrayList<Usuario>();
		usuarios = dao.listarAlunos();
		return usuarios;
	}

	@Override
	public List<CompCurr> listarComponentes() {
		MatriculaDAO dao = new MatriculaDAO(em);
		List<CompCurr> componentes = new ArrayList<CompCurr>();
		componentes = dao.listarComponentes();
		return componentes;
	}
}
